package cn.com.iresearch.android.componentizationsupporter


/**
 * 组件功能接口
Created By: Seal.Wu
Date: 2018/4/3
Time: 10:10
 */
interface IComponent {

    /**
     * 获取当前组件的唯一组件名标识
     */
    fun getComponentName(): String


    /**
     * 执行当前组件的对外功能指令调用
     * @commandLine 指令名称
     * @commandLineArgs 指令对应的相关参数列表
     */
    fun execute(commandLine: String, vararg commandLineArgs: Any): Any

    /**
     * 执行当前组件的对外功能指令调用
     * @commandLine 指令名称
     * @commandLineArgs 指令对应的相关参数列表
     * @callback 异步完成指令调用后的回调
     */
    fun executeAsync(commandLine: String, vararg commandLineArgs: Any, callback: (response: Any) -> Unit)

}